# 导入flask类
from flask import Flask, request, render_template
from  datetime import datetime
# 使用flask类,创建app对象
# __name__,代表当前app.py这个模块

# 作用
# 1.出现bug可以尽快定位
# 2.对象寻找模板文件有一个相对路径
app = Flask(__name__)

def datetime_format(value, format='%Y年-%m-%d %H:%M:%S'):
    return  value.strftime(format)
app.add_template_filter(datetime_format, 'dformat')


class User:
    def __init__(self, username, email):
        self.username = username
        self.email = email

# ‘/’代表根路由
@app.route('/')
def hello_world():  # put application's code here
    person = {
        "username": "john",
        "email": "xxx@qq.com"
    }
    user = User(username="sq", email='xxx@qq.com')
    return render_template('index.html',user=user,person=person)

@app.route("/blog/<blog_id>")
def blog_detail(blog_id):
    return  render_template('blog_detail.html', blog_id=blog_id, username="sq")

@app.route("/filter")
def filter_demo():
    user = User(username="sq", email='xxx@qq.com')
    mytime = datetime.now()
    return render_template('filter.html', user=user, mytime=mytime)

@app.route("/control")
def control_statement():
    age = 17
    books  =[
        {
            'name':'1',
            'value':'11'
        },
        {
            'name': '2',
            'value': '22'
        },
        {
            'name': '3',
            'value': '33'
        }
    ]
    return render_template('control.html', age=age, books=books)

@app.route("/child")
def child():
    return render_template('child.html')

@app.route("/child1")
def child1():
    return render_template('child1.html')

@app.route("/static")
def static_demo():
    return render_template("static.html")


# @app.route("/profile")
# def profile():
#     return "我是个人中心"
#
# @app.route("/blog/list")
# def blog_list():
#     return "我是博客列表"
#
# @app.route("/blog/<int:blog_id>")
# def blog_detail(blog_id):
#     return "您访问的博客是：%s" % blog_id
#
#
# @app.route("/book/list")
# def book_list():
#     # args是arguments 参数
#     # request.args：类字典类型
#     page = request.args.get("page",default=1,type=int)
#     return f"您获取的是第{page}的图书列表！"

# 1.debug模式：设置中选中 flask debug
# 修改代码后保存，可以刷新，不用重启
# 在浏览器上可以看到出错信息

# 2.修改host
# 让其他电脑可以访问我们电脑上的地址


#  3.修改端口号prot:

if __name__ == '__main__':
    app.run()
